precision highp float;

uniform sampler2D u_src;
uniform float u_step_x;
uniform float u_step_y;
uniform float u_intensity;

varying vec2 v_uv;


void main () {
    vec2 ds = vec2(u_step_x, u_step_y) * u_intensity;
	vec4 sum = texture2D(u_src, v_uv) * 0.204164;
	sum += texture2D(u_src, v_uv - ds * 1.407333) * 0.304005;
	sum += texture2D(u_src, v_uv + ds * 1.407333) * 0.304005;
	sum += texture2D(u_src, v_uv - ds * 3.294215) * 0.093913;
	sum += texture2D(u_src, v_uv + ds * 3.294215) * 0.093913;
	gl_FragColor = sum;
}